Proyecto STAR

Inferencia Causal

Máster en Ciencia de Datos (UV)
Autor/a

Adrián Lara, Jesús Martínez, Miguel Muñoz, Samuel Ortega & Pablo Vicente

Fecha de publicación

07-06-2024

Introducción

El proyecto STAR (Student-Teacher Achievement Ratio) es parte de un estudio sobre el tamaño de las clases llevado a cabo en Tennessee en tres fases (es la primera de las fases). Este estudio de Tennessee fue diseñado para determinar el efecto del tamaño reducido de las clases en los primeros grados sobre el rendimiento académico a corto y largo plazo de los alumnos. Se inspiró en un estudio prometedor realizado en Indiana sobre los beneficios de las clases pequeñas, pero también consideró los costos adicionales de más aulas y profesores. La legislatura de Tennessee autorizó este estudio de cuatro años para obtener datos sobre la eficacia de las clases reducidas.

Detallando en el propio proyecto STAR, se compararon los resultados de alumnos en jardines de infancia y en los primeros tres grados, en clases pequeñas de 13 a 17 alumnos, clases regulares de 22 a 25 alumnos y clases regulares con un profesor particular. Aproximadamente 6500 alumnos en 330 aulas de unas 80 escuelas fueron evaluados en lectura, matemáticas y habilidades básicas de estudio mediante pruebas estandarizadas. Después de los cuatro años, se comprobó que las clases pequeñas mejoraron significativamente el aprendizaje temprano y los estudios cognitivos. En cualquier año de calendario, el experimento se llevó a cabo en solo uno de los grados, minimizando así el número de clases necesitadas.

Tabla 1. Grupos de control y tratamiento en el experimento STAR
Grado Tratamiento.1 Tratamiento.2 Control
K Clase pequeña Clase regular + asistente Clase regular
1 Clase pequeña Clase regular + asistente Clase regular
2 Clase pequeña Clase regular + asistente Clase regular
3 Clase pequeña Clase regular + asistente Clase regular

Los datos del estudio están disponibles en el paquete AER de R.

Descripción del problema

En primer lugar, cargamos los datos a nuestro espacio de trabajo.

data(STAR)
starDf <- STAR

Encontramos con las siguientes características:

  1. gender: Factor que indica el género del estudiante.

  2. ethnicity: Factor que indica la etnicidad del estudiante con niveles “cauc” (Caucásico), “afam” (Afroamericano), “asian” (Asiático), “hispanic” (Hispano), “amindian” (Indio Americano) o “other” (Otro).

  3. birth: Trimestre de nacimiento del estudiante (del año de clase).

  4. stark: Factor que indica el tipo de clase STAR en jardín de infancia: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.

  5. star1: Factor que indica el tipo de clase STAR en primer grado: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.

  6. star2: Factor que indica el tipo de clase STAR en segundo grado: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.

  7. star3: Factor que indica el tipo de clase STAR en tercer grado: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.

  8. readk: Puntuación total de lectura en jardín de infancia.

  9. read1: Puntuación total de lectura en primer grado.

  10. read2: Puntuación total de lectura en segundo grado.

  11. read3: Puntuación total de lectura en tercer grado.

  12. mathk: Puntuación total de matemáticas en jardín de infancia.

  13. math1: Puntuación total de matemáticas en primer grado.

  14. math2: Puntuación total de matemáticas en segundo grado.

  15. math3: Puntuación total de matemáticas en tercer grado.

  16. lunchk: Factor que indica si el estudiante calificó para almuerzo gratuito en jardín de infancia.

  17. lunch1: Factor que indica si el estudiante calificó para almuerzo gratuito en primer grado.

  18. lunch2: Factor que indica si el estudiante calificó para almuerzo gratuito en segundo grado.

  19. lunch3: Factor que indica si el estudiante calificó para almuerzo gratuito en tercer grado.

  20. schoolk: Factor que indica el tipo de escuela en jardín de infancia: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).

  21. school1: Factor que indica el tipo de escuela en primer grado: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).

  22. school2: Factor que indica el tipo de escuela en segundo grado: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).

  23. school3: Factor que indica el tipo de escuela en tercer grado: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).

  24. degreek: Factor que indica el título más alto del maestro en jardín de infancia: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “master+” (maestría+).

  25. degree1: Factor que indica el título más alto del maestro en primer grado: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “phd” (doctorado).

  26. degree2: Factor que indica el título más alto del maestro en segundo grado: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “phd” (doctorado).

  27. degree3: Factor que indica el título más alto del maestro en tercer grado: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “phd” (doctorado).

  28. ladderk: Factor que indica el nivel de carrera del maestro en jardín de infancia: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “pending” (pendiente).

  29. ladder1: Factor que indica el nivel de carrera del maestro en primer grado: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “noladder” (sin nivel).

  30. ladder2: Factor que indica el nivel de carrera del maestro en segundo grado: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “noladder” (sin nivel).

  31. ladder3: Factor que indica el nivel de carrera del maestro en tercer grado: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “noladder” (sin nivel).

  32. experiencek: Años de experiencia total del maestro en jardín de infancia.

  33. experience1: Años de experiencia total del maestro en primer grado.

  34. experience2: Años de experiencia total del maestro en segundo grado.

  35. experience3: Años de experiencia total del maestro en tercer grado.

  36. tethnicityk: Factor que indica la etnicidad del maestro en jardín de infancia con niveles “cauc” (Caucásico) o “afam” (Afroamericano).

  37. tethnicity1: Factor que indica la etnicidad del maestro en primer grado con niveles “cauc” (Caucásico) o “afam” (Afroamericano).

  38. tethnicity2: Factor que indica la etnicidad del maestro en segundo grado con niveles “cauc” (Caucásico) o “afam” (Afroamericano).

  39. tethnicity3: Factor que indica la etnicidad del maestro en tercer grado con niveles “cauc” (Caucásico), “afam” (Afroamericano) o “asian” (Asiático).

  40. systemk: Factor que indica el ID del sistema escolar en jardín de infancia.

  41. system1: Factor que indica el ID del sistema escolar en primer grado.

  42. system2: Factor que indica el ID del sistema escolar en segundo grado.

  43. system3: Factor que indica el ID del sistema escolar en tercer grado.

  44. schoolidk: Factor que indica el ID de la escuela en jardín de infancia.

  45. schoolid1: Factor que indica el ID de la escuela en primer grado.

  46. schoolid2: Factor que indica el ID de la escuela en segundo grado.

  47. schoolid3: Factor que indica el ID de la escuela en tercer grado.

Análisis exploratorio de datos

Observamos que hay una gran cantidad de datos faltantes en la mayor parte de las variables.

Figura 1. Porcentaje de valores faltantes en las variables del conjunto de datos.

Esto se debe a la naturaleza de los datos en el que se va a recoger información del estudiante en distintos cursos (que coinciden con los años del estudio). Así pues, encontraremos NAs en un estudiante que por ejemplo estuviese solo en el curso de ‘Kindergarten’ (jardín de infancia) en uno de las escuelas del estudio y luego se marchase a otras escuelas de fuera de estas (los NAs estarían aquí en los cursos 1st, 2nd, 3rd en todas las variables que eso implica).

Consideremos la primera observación del conjunto de datos:

     gender ethnicity   birth stark star1 star2   star3 readk read1 read2 read3
1122 female      afam 1979 Q3  <NA>  <NA>  <NA> regular    NA    NA    NA   580
     mathk math1 math2 math3 lunchk lunch1 lunch2 lunch3 schoolk school1
1122    NA    NA    NA   564   <NA>   <NA>   <NA>   free    <NA>    <NA>
     school2  school3 degreek degree1 degree2  degree3 ladderk ladder1 ladder2
1122    <NA> suburban    <NA>    <NA>    <NA> bachelor    <NA>    <NA>    <NA>
     ladder3 experiencek experience1 experience2 experience3 tethnicityk
1122  level1          NA          NA          NA          30        <NA>
     tethnicity1 tethnicity2 tethnicity3 systemk system1 system2 system3
1122        <NA>        <NA>        cauc    <NA>    <NA>    <NA>      22
     schoolidk schoolid1 schoolid2 schoolid3
1122      <NA>      <NA>      <NA>        54

En la salida encontramos que el estudiante ingresó al experimento en tercer grado en una clase regular, por lo que el tamaño de la clase se registra en star3 y las otras variables indicadoras de tipo de clase son NA. De la misma manera, sus puntuaciones de matemáticas y lectura para el tercer grado están disponibles; sin embargo, los valores de estas variables para otros grados no están presentes por la misma razón.

A modo de comprobación, nos aseguramos todas las entradas corresponden a estudiantes que participaron en el proyecto STAR al menos durante uno de los cuatro años.

Número de entradas sin participaciones: 0

A continuación, analizamos las distribuciones de las variables descritas.

Figura 2. Diagrama de barras del género de los estudiantes.

Figura 3. Diagrama de barras de la etnicidad de los estudiantes.

Figura 4. Diagrama de barras del trimestre de nacimiento de los estudiantes.

Figura 5. Diagrama de barras del tipo de clase STAR de los estudiantes.

Vemos de esta figura que el número de estudiantes no es constante a lo largo de los cursos. Naturalmente, esto no fue un experimento ideal. Podía haber movimiento estudiantil entre escuelas ajenas al experimento. A eso, ha de sumársele que en esos años no era obligatorio ir a Kindergarten en el estado de Tennessee, por lo que también mucha gente iniciaba su edación en Primero.

Figura 6. Diagrama de barras del grupo experimental de todos los cursos.

Figura 7. Boxplot de la puntuación de lectura de todos los cursos.

Figura 8. Boxplot de la puntuación de matemáticas de todos los cursos.

Figura 9. Diagrama de barras de la participación en el almuerzo gratuito de todos los cursos.

Figura 10. Diagrama de barras del tipo de escuela de todos los cursos.

Figura 11. Diagrama de barras del máximo título académico del maestro de todos los cursos.

Figura 12. Diagrama de barras del nivel de carrera del maestro de todos los cursos.

Figura 13. Boxplot de la experiencia del maestro de todos los cursos.

Figura 14. Diagrama de barras de la etnicidad del maestro de todos los cursos.

Se observan distribuciones muy parecidas entre los distintos cursos.

Figura 15. Diagrama de barras de la etnicidad del maestro de todos los cursos.

Figura 16. Diagrama de barras de la etnicidad de los estudiantes por tipo de escuela.

Puede observarse cómo el tipo de escuela está muy relacionado con la etnicidad de los estudiantes. Esta clasificación en inner-city, suburban, rural, urban fue realizada por parte de los diseñadores del estudio, ya que los legisladores no habían definido los tipos. Se procedió de la siguiente manera:

Las inner-city y suburban se agrupaban en la categoría de metropolitan areas.

  • inner-city: Las escuelas con esta clasificación están definidas como aquellas en las que más de la mitad de estudiantes recibían almuerzo gratuito.
  • suburban: Las escuelas con esta clasificación son las que estaban en las áreas más externas de las ciudades metropolitanas.

En las áreas no metropolitanas las escuelas en ciudades con más de 2500 habitantes se clasificaban como urban y las escuelas en ciudades con menos de 2500 habitantes se clasificaban como rural.

Figura 17. Diagrama de barras de la participación en el almuerzo gratuito por tipo de escuela.

Puede verse claramente cómo los afroamericanos tenían mayor disposición a tener almuerzo gratuito. Esto seguramente se deba a su condición económica más vulnerable.

Observemos a continuación algunos mapas de correlaciones entre variables.

Figura 18. Mapa de correlaciones entre variables de puntuación, experiencia de profesorado y año + trimeste de nacimiento para Kindergarten.

Figura 19. Mapa de correlaciones entre variables de puntuación, experiencia de profesorado y año + trimeste de nacimiento para 1st grade.

Figura 20. Mapa de correlaciones entre variables de puntuación, experiencia de profesorado y año + trimeste de nacimiento para 2nd grade.

Figura 21. Mapa de correlaciones entre variables de puntuación, experiencia de profesorado y año + trimeste de nacimiento para 3rd grade.

En la parte inferior izquierda aparecen las correlaciones de Pearson y en la superior derecha las de Spearman.

Como era de esperar, hay una correlación bastante notable entre las puntuaciones de lectura y matemáticas en todos los cursos. Quien es bueno en una materia, es bueno en la otra (estudia, vamos). El resto de correlaciones entre estas variables mostradas no suelen ser muy altas, aunque sí son en algunos casos significativamente distintas de 0. Por ejemplo, resulta curioso observar cómo hay cierta correlación negativa entre las puntuaciones y el birth_year en KinderGarten (quizás la diferencia de edad se note más en las edades tempranas). Ocurre lo contrario para el resto de cursos, habiendo una correlación positiva.

La experiencia del profesorado también tiene cierta correlación positiva con las puntuaciones, pero muy débil. \(\\\)

A continuación, analizamos posibles asociaciones entre variables categóricas para cada curso mediante el estadístico V de Cramer, que está acotado entre 0 y 1, siendo 1 asociación total entre un par de variables categóricas y 0 ninguna asociación.

Figura 22. Coeficientes V de Cramer entre variables categóricas (Kindergarten).

Figura 23. Coeficientes V de Cramer entre variables categóricas (Primer curso).

Figura 24. Coeficientes V de Cramer entre variables categóricas (Segundo curso).

Figura 25. Coeficientes V de Cramer entre variables categóricas (Tercer curso).

No se observa ninguna asociación fuerte entre el tratamiento y el resto de variables categóricas, lo cual está en concordancia con la asignación aleatoria del tratamiento. Donde sí observamos una mayor asociación es entre el tipo de escuela school y otras variables como lunch. Esto tiene sentido porque en el estudio se menciona que, la categoría de schools “inner-city” se asignó para las escuelas donde los alumnos recibían descuentos en la comida o comidas gratis (esto ya se había comentado anteriormente).

La relación que aparece entre technicity y school se fundamenta en que colegios donde había mayor porcentaje afam también lo poseen en profesores (esto lo vemos en la próxima Figura, recordando que en inner-city había una gran cantidad de estudiantes con ethnicity = "afam"). La alta asociación entre school y system se explica porque debido a que escuelas del mismo tipo pueden pertenecer al mismo sistema escolar.

Figura 26. Diagrama de barras de la etnicidad del maestro por tipo de escuela en Kindergarten.

Identificación del tratamiento

En el proyecto STAR, el tratamiento aplicado es la pertenencia a clases reducidas y a clases normales con ayuda, frente a clases normales sin ayuda. En este trabajo, convertimos este tratamiento en dos tratamientos binarios:

  • Clase reducida frente a clase normal
  • Clase normal con ayuda frente a clase normal sin ayuda

Por otra parte, escogemos como efecto la variación de una nueva variable mark, definida como la suma de las puntuaciones en lectura y matemáticas, habitual en la literatura relacionada con este estudio.

Además, realizamos el análisis para cada año de manera independiente.

Distribuciones de variables por tratamiento

Pasemos a ver las distribuciones de algunas variables que consideramos de interés en función del tratamiento, con el objetivo de ver si hay una asignación aleatoria de los tratamientos y trabajamos con la hipótesis de independencia.

Figura 27. Diagrama de barras del género de los estudiantes por tratamiento.

Vemos que las distribuciones de género son muy similares para los distintos tratamientos.

Figura 28. Diagrama de barras de la etnicidad de los estudiantes por tratamiento

En la nueva variable ethnicity_grouped las distribuciones también son similares.

Figura 29. Boxplot de la experiencia del maestro por tratamiento.

En este caso observamos una diferencia apreciable: la experiencia de los maestros en las clases reducidas suele ser menor.

Figura 30. Diagrama de barras del tipo de escuela por tratamiento.

Las distribuciones de tipo de escuela según los distintos tratamientos también son de un vistazo bastante similares.

Selección de variables confusoras: creación del modelo DAG

El modelo causal que se mostrará a continuación es el que ha dado menos problemas a la hora de recuperar efectos del tratamiento en etapas posteriores (sobre todo en la parte de DoubleML). Son también las variables sobre las que más hincapié se hace en la literatura que hemos consultado (Hanck et al. 2021; Mosteller 1998).

Estas variables son:

  • Género del estudiante (gender)
  • Experiencia del profesorado (experience)
  • Etnicidad del estudiante (ethnicity)
  • Participación en el almuerzo gratuito (lunch)
  • Tipo de escuela (school)

La variable schoolid veremos posteriormente que otorga mucha de la variabilidad explicada en un modelo de regresión múltiple, pero nos daba severos problemas en estimaciones de ATE con otro tipo de modelo y por ello no la incluimos en el modelo DAG. Al resto de variables como tethnicity, degree o ladder les sucedía algo parecido, pero en este caso tampoco aportaban tanto a la variabilidad explicada en el modelo de regresión.

Figura 31. Modelo DAG para la recuperación del efecto del tratamiento.

Análisis del efecto del tratamiento

Crearemos en primer lugar una nueva variable que sea la suma de las puntuaciones de lectura y matemáticas para cada curso (el mark mostrado anteriormente en el DAG). Además, calcularemos el percentil de esta variable (markPerc).

Estimación naive del efecto del tratamiento

Para obtener una primera estimación del efecto medio del tratamiento (ATE) para cada curso podemos emplear el estimador diferencia en medias (DIM), definido como el valor promedio de la respuesta de los tratados menos el valor promedio de la respuesta para los no tratados. En ausencia de independencia, independencia condicional o asigación aleatoria del tratamiento, este es un estimador sesgado y es distinto al efecto medio del tratamiento.

Según la documentación del estudio, tanto la asignación de alumnos como de profesores fue totalmente aleatoria, por lo que podemos tomar el DIM como una primera estimación válida del ATE con la que comparar el resto de estimaciones que realizaremos más adelante.

Tabla 2. Estimaciones naive del efecto del tratamiento para los diferentes cursos
K 1 2 3
Small - Regular 13.899 29.781 19.394 15.587
Regular+Aide - Regular 0.314 11.959 3.479 -0.291

Estos resultados son exactamente los mismos que los que se mostrarán a continuación con el modelo básico de regresión lineal. Sin embargo, lo siguiente será más riguroso al incluir también estimaciones del error y cuestiones de significancia.

Modelos de regresión

Modelo básico

Consideramos el modelo:

\(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \epsilon\)

donde \(Y\) es la variable respuesta que nos será de interés, \(\beta_0\) es el intercepto, \(\beta_1\) es el indicador de la clase pequeña, \(\beta_2\) es el indicador de la clase regular con ayuda. \(\epsilon\) es el término de ruido usual incorporado en el modelo.

Se toma en primer lugar a \(Y = \text{mark}\), la suma de las puntuaciones de lectura y matemáticas (read + math).

Se calculan a continuación modelos lineales de regresión siguiendo la expresión anterior para cada uno de los cursos. Se calcularán también los errores estándar robustos para cada uno de los coeficientes (uso de la función vcovHC que contiene la matriz de covarianza robusta de los coeficientes estimados). Estos se utilizan para corregir los problemas de heterocedasticidad (cuando la varianza de los errores no es constante) en los modelos de regresión.

Tabla 3. Estimación de diferencias entre cursos: modelo básico
Variable dependiente: Curso
K 1 2 3
starksmall 13.899***
(2.454)
starkregular+aide 0.314
(2.271)
star1small 29.781***
(2.831)
star1regular+aide 11.959***
(2.652)
star2small 19.394***
(2.712)
star2regular+aide 3.479
(2.545)
star3small 15.587***
(2.396)
star3regular+aide -0.291
(2.273)
Constant 918.043*** 1,039.393*** 1,157.807*** 1,228.506***
(1.633) (1.785) (1.815) (1.680)
Observations 5,786 6,379 6,049 5,967
R2 0.007 0.017 0.009 0.010
Adjusted R2 0.007 0.017 0.009 0.010
Residual Std. Error 73.490 (df = 5783) 90.501 (df = 6376) 83.694 (df = 6046) 72.910 (df = 5964)
F Statistic 21.263*** (df = 2; 5783) 56.341*** (df = 2; 6376) 28.707*** (df = 2; 6046) 30.250*** (df = 2; 5964)

Los resultados de la Tabla anterior dejan claro que hay un incremento del rendimiento del estudiante cuando está en clases reducidas (ver valores de los coeficientes, que además son muy significativos ’***’). Las estimaciones están entre 13.899 y 29.781, si bien es cierto que el efecto en el curso 1 se separa un poco de los demás. Esto podría deberse a que en ese año en particular los resultados de la case regular fueron bastante peores en comparación de los de las otras clases (ya que vemos que hay un efecto incluso notable con la clase regular + ayuda que en el resto no se ve).

Modelos con más variables

Buscaremos añadir más variables para ver si puede mejorarse la variación observada en la variable dependiente (la suma de las puntuaciones de lectura y matemáticas). Además, se intenta de esta manera intengar mitigar o resolver posibles problemas en una asignación no totalmente aleatoria de los tratamientos.

Se añaden las variables comentadas anteriormente en el DAG, así como la variable schoolId que aumenta mucho el valor de la variabilidad explicada. Los modelos son los siguientes:

Haremos distintos modelos incluyendo más o menos variables de las mostradas. Concretamente:

Modelo 1 (básico): \(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \epsilon\)

Modelo 2: \(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \epsilon\)

Modelo 3: \(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{School} \epsilon\)

Modelo 4 (el del DAG): \[\begin{equation} \begin{aligned} Y &= \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{School} \\ &+ \beta_5 \cdot \text{Gender} + \beta_6 \cdot \text{Lunch} + \beta_7 \cdot \text{EthnicityGrouped} + \epsilon \end{aligned} \end{equation}\]

Modelo 5: \[\begin{equation} \begin{aligned} Y &= \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{SchoolId} \\ &+ \epsilon \end{aligned} \end{equation}\]

Modelo 6: \[\begin{equation} \begin{aligned} Y &= \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{SchoolId} \\ &+ \beta_5 \cdot \text{Gender} + \beta_6 \cdot \text{Lunch} + \beta_7 \cdot \text{EthnicityGrouped} + \epsilon \end{aligned} \end{equation}\]

Se presentan los resultados solo para el curso de jardín de infancia en aras de la brevedad. Los resultados para los otros cursos son similares.

Tabla 4. Estimación de diferencias: comparación entre modelos para Kindergarten
Resultados para Kindergarten
Modelo 1 Modelo 2 Modelo 3 Modelo 4 (DAG) Modelo 5 Modelo 6
starksmall 13.899*** 14.006*** 13.259*** 13.792*** 15.933*** 15.901***
(2.454) (2.447) (2.419) (2.356) (2.241) (2.155)
starkregular+aide 0.314 -0.601 -0.356 0.538 1.215 1.765
(2.271) (2.254) (2.222) (2.158) (2.035) (1.962)
experiencek 1.469*** 1.211*** 1.092*** 0.743*** 0.661***
(0.169) (0.172) (0.169) (0.170) (0.166)
schoolksuburban 34.774*** 6.062*
(2.854) (3.439)
schoolkrural 25.384*** -2.440
(2.472) (3.548)
schoolkurban 26.815*** 0.055
(3.745) (4.210)
genderfemale 13.994*** 12.088***
(1.849) (1.673)
lunchkfree -32.722*** -34.882***
(2.079) (1.983)
ethnicity_groupedcauc 13.754*** 24.224***
(3.030) (3.408)
Constant 918.043*** 904.721*** 885.398*** 907.450*** 925.675*** 909.754***
(1.633) (2.222) (2.625) (3.193) (7.653) (7.702)
Identificadores de escuela No No No No
Observations 5,786 5,766 5,766 5,748 5,766 5,748
R2 0.007 0.020 0.048 0.104 0.234 0.291
Adjusted R2 0.007 0.020 0.047 0.103 0.223 0.280
Residual Std. Error 73.490 (df = 5783) 73.085 (df = 5762) 72.078 (df = 5759) 69.976 (df = 5738) 65.075 (df = 5684) 62.667 (df = 5663)
F Statistic 21.263*** (df = 2; 5783) 39.861*** (df = 3; 5762) 48.009*** (df = 6; 5759) 74.162*** (df = 9; 5738) 21.413*** (df = 81; 5684) 27.665*** (df = 84; 5663)

Las columnas de los Modelos 2 a 6 muestran que la inclusión de variables adicionales de índole estudiantil, docente y escolar no han modificado drásticamente el valor de la estimación del efecto del tratamiento. Continuamos teniendo un valor positivo y significativo para el efecto de la clase pequeña en el rendimiento de los estudiantes, en contraposición al que otorga la ayuda en la clase regular que no es significativo.

De todas maneras, estos resultados ayudan a fortalecer el hecho de que lo observado con el modelo básico no sufre demasiado de la posible asignación no aleatoria de los tratamientos. Añadir las variables de identificación aumenta considerablemente el valor del \(R^2_\text{ajustado}\), disminuyendo además el valor de los errores estándar de los coeficientes que nos interesan (hay algo más de precisión, por tanto).

Fijando los efectos que nos ofrecen los identificadores de escuela el efecto de la experiencia del profesorado sale a la luz (modelo número 5). Se observa que cada año de experiencia otorga 0.74 puntos más en la suma de las puntuaciones de lectura y matemáticas.

Todos estos valores cuantitativos de incremento en la nota resultarían útiles si estuviéramos acostumbrados con el sistema de puntuaciones. Sin embargo, como no es el caso, lo mejor es hacer una comparación en términos de desviaciones estándar o bien de incremento de percentiles.

Tabla 5. Estimaciones de efecto del tratamiento normalizadas por desviación estándar muestral para Kindergarten: modelo básico
K 1 2 3
Small 0.188 0.326 0.231 0.213
SmallSE 0.033 0.031 0.032 0.033
RegAide 0.004 0.131 0.041 -0.004
RegAideSE 0.031 0.029 0.030 0.031
SSD 73.747 91.283 84.077 73.267

SSD es la desviación estándar muestral de la variable mark para cada curso. Los valores de Small y RegAide son los incrementos en la nota normalizados por la desviación estándar muestral. Los valores de SmallSE y RegAideSE son los errores estándar de los coeficientes estimados normalizados por la desviación estándar muestral.

La diferencia que otorga estar en la clase reducida está en torno al 0.2 de desviación estándar en incremento de rendimiento, a excepción de lo ocurrido en el curso 1, por lo comentado anteriormente.

Aplicación ténicas de match


   stark Estimate Pr(>|z|)   S 2.5 % 97.5 %
 small        929   <0.001 Inf   923    935
 regular      917   <0.001 Inf   912    922

Columns: stark, estimate, p.value, s.value, conf.low, conf.high 
Type:  invlink(link) 

  Term        Contrast Estimate Std. Error    z Pr(>|z|)   S 2.5 % 97.5 %
 stark small - regular     11.8       3.72 3.18  0.00145 9.4  4.55   19.1

Columns: term, contrast, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high 
Type:  response 

   star1 Estimate Pr(>|z|)   S 2.5 % 97.5 %
 small       1064   <0.001 Inf  1059   1070
 regular     1040   <0.001 Inf  1035   1045

Columns: star1, estimate, p.value, s.value, conf.low, conf.high 
Type:  invlink(link) 

  Term        Contrast Estimate Std. Error    z Pr(>|z|)    S 2.5 % 97.5 %
 star1 small - regular     24.4       3.73 6.53   <0.001 33.9  17.1   31.7

Columns: term, contrast, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high 
Type:  response 

   star2 Estimate Pr(>|z|)   S 2.5 % 97.5 %
 small       1176   <0.001 Inf  1170   1183
 regular     1161   <0.001 Inf  1156   1165

Columns: star2, estimate, p.value, s.value, conf.low, conf.high 
Type:  invlink(link) 

  Term        Contrast Estimate Std. Error    z Pr(>|z|)    S 2.5 % 97.5 %
 star2 small - regular     15.9       3.81 4.16   <0.001 14.9  8.39   23.3

Columns: term, contrast, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high 
Type:  response 

   star3 Estimate Pr(>|z|)   S 2.5 % 97.5 %
 regular     1232   <0.001 Inf  1227   1236
 small       1241   <0.001 Inf  1237   1245

Columns: star3, estimate, p.value, s.value, conf.low, conf.high 
Type:  invlink(link) 

  Term        Contrast Estimate Std. Error    z Pr(>|z|)   S 2.5 % 97.5 %
 star3 small - regular     9.48       3.25 2.92  0.00353 8.1  3.11   15.8

Columns: term, contrast, estimate, std.error, statistic, p.value, s.value, conf.low, conf.high 
Type:  response 

Uso de Meta-Learners

Los meta-learners se basan en utilización de métodos ML disponibles diseñados para tareas de regresión o clasificación (no modificados para inferencia causal). Los meta-learners son una manera sencilla de aprovechar los métodos predictivos ML para estimar efectos condicionales. Se agrupan a su vez en métodos para la predicción de la respuesta condicional (S- y T-learner) o aquellos además usan una estimación del Propensity Score (p.e. DR- y X-learner).

Se utiliza la librería econml (Keith Battocchi 2019).

Para la inclusión en los diferentes modelos necesitamos tener las cosas bien preprocesadas, ya que los metalearners solo admiten variables que sean numéricas. Se transformarán las variables categóricas a variables dummy y se eliminarán las filas con valores faltantes cuando sea necesario. Un ejemplo del conjunto de datos que tenemos se muestra a continuación. Puede observarse que nos hemos quedado con las variables del modelo DAG que dijimos con anterioridad.

Una cosa relevante de mencionar es que a partir de aquí nos hemos centrado en evaluar solo el tratamiento de la clase pequeña frente a la clase regular, ya que se ha visto anteriormente que entre la clase regular y la clase regular con ayuda no parecía haber diferencias significativas.

    stark  experiencek  gender  ...  schoolk_rural  schoolk_suburban  schoolk_urban
1     1.0          7.0     1.0  ...            1.0               0.0            0.0
2     1.0         21.0     1.0  ...            0.0               1.0            0.0
10    0.0         16.0     0.0  ...            1.0               0.0            0.0
11    1.0          5.0     0.0  ...            1.0               0.0            0.0
12    0.0          8.0     0.0  ...            1.0               0.0            0.0

[5 rows x 10 columns]

Dividimos el conjunto de datos en train y test. Se ha optado por una división 80 - 20. Se ha fijado una semilla para que los resultados sean reproducibles.

xTrain_k, xTest_k, tTrain_k, tTest_k, yTrain_k, yTest_k = train_test_split(Xk, Tk, Yk, test_size=0.2, random_state=seed)
xTrain_1, xTest_1, tTrain_1, tTest_1, yTrain_1, yTest_1 = train_test_split(X1, T1, Y1, test_size=0.2, random_state=seed)
xTrain_2, xTest_2, tTrain_2, tTest_2, yTrain_2, yTest_2 = train_test_split(X2, T2, Y2, test_size=0.2, random_state=seed)
xTrain_3, xTest_3, tTrain_3, tTest_3, yTrain_3, yTest_3 = train_test_split(X3, T3, Y3, test_size=0.2, random_state=seed)

Se muestra a continuación lo que sería la distribución de la respuesta (mark) por estatus de tratamiento para el curso de Kindergarten.

Figura 32. Distribución de la respuesta por estatus de tratamiento (clase regular vs clase reducida) en los diferentes cursos.

S-Learner

El S-Learner es un modelo de aprendizaje supervisado que utiliza un único modelo predictivo para estimar tanto el resultado con el tratamiento como sin él. Se entrena concretamente un modelo predictivo usando las características de los individuos y la variable tratamiento como predictores. Luego, este modelo se usa para predecir el resultado bajo ambas condiciones para cada individuo y se calcula la diferencia entre las predicciones para obtener el efecto del tratamiento.

Se estuvo probando con diferentes transformaciones, pero la que mejores resultados pudimos finalmente obtener era utilizando una transformación polinomial de grado 2 (PolynomialFeatures) con una regularización Lasso (L1), tras ajustar el valor del hiperparámetro alpha.

Figura 33. Histograma de efectos de tratamiento estimados por el S-Learner en los diferentes cursos.

Figura 34. Estimaciones de efectos de tratamiento y bandas de confianza en los diferentes cursos.

Puede observarse que las barras de error son significativamente grandes: resulta bastante incierto estimar el efecto del tratamiento para un individuo a pesar de todos los esfuerzos que hemos hecho por buscar modelos más robustos.

Figura 35. Intervalos de confianza para el ATE en los diferentes cursos usando el S-learner.

Los resultados para el ATE están en la línea de lo que obtuvimos con los modelos de regresión anteriores, quizás algo por debajo. Sin embargo, si tenemos en cuenta los intervalos de confianza, sí que caería en lo que antes vimos.

Podemos a continuación observar los SHAP values (Shapley Additive Explanations), de tal forma que podamos entender el impacto de cada característica en la predicción de un modelo. Se mostrarán los resultados solo para Kindergarten en aras de la brevedad.

El gráfico waterfall muestra cómo se combinan los efectos de las características individuales para llegar a la predicción final. Cada barra representa el SHAP value de una característica, y se ordenan de mayor a menor impacto en la predicción.

Figura 36. Gráfico de waterfall que indica cómo se da la combinación para la predicción final (Kindergarten) (Para la primera muestra).

El gráfico de barras muestra la importancia media de cada característica en el modelo. Este gráfico se crea sumando los valores absolutos de los SHAP values de cada característica a lo largo de todas las observaciones.

Figura 37. Gráfico de barras con la importancia de cada característica (Kindergarten).

X-learner

En el X-Learner, al igual que en el DR-Learner, se tienen dos etapas para estimar el efecto del tratamiento en una población. En la primera etapa se estiman las funciones nuisance, como la propensión al tratamiento y la respuesta potencial condicional, para generar una pseudorespuesta. En la segunda etapa, se ajusta un modelo de regresión usando la pseudorespuesta y las covariables para obtener una estimación final del CATE. Tras esto, puede realizarse la predicción.

En nuestro caso, usaremos el XLearner incorporando los modelos de GradientBoostingRegressor y RandomForestClassifier para las funciones nuisance y generación de pseudorespuesta. Se ha fijado un número de estimadores de 100 y una profundidad máxima de 10 para el modelo de regresión y de 6 para el modelo de clasificación.

Figura 38. Histograma de efectos de tratamiento estimados por el X-Learner en los diferentes cursos.

Figura 39. Estimaciones de efectos de tratamiento y bandas de confianza en los diferentes cursos (XLearner).

Figura 40. Intervalos de confianza para el ATE en los diferentes cursos usando el X-learner.

El valor central para el ATE en este caso está en torno a lo que habíamos obtenido en ocasiones anteriores. Sin embargo, vemos que los intervalos de confianza son muchísimo peores que en el caso anterior. No hemos podido finalmente ajustar el modelo lo suficientemente bien como para que dé resultados más fiables.

Figura 41. Gráfico de waterfall que indica cómo se da la combinación para la predicción final (Kindergarten) (Para la primera muestra).

Figura 42. Gráfico de barras con la importancia de cada característica (Kindergarten).

Uso de DoubleML

DoubleML se trata de un meta-learner que, a diferencia de los comentados anteriormente, proporciona un marco general para la estimación de efectos causales. Este funciona tanto con tratamientos discretos como continuos, combinando las fortalezas del Machine Learning y la Econometría.

DoubleML utiliza un enfoque que combina la regresión de residuos sobre residuos para ortogonalizar el tratamiento y las variables de confusión, el uso de modelos de aprendizaje automático para estimar funciones de nuisance de manera flexible, y la técnica de cross-fitting para abordar problemas de sesgo y sobreajuste. Esto permite obtener estimaciones más precisas y robustas del efecto causal al mitigar los efectos de las variables de confusión y mejorar la generalización del modelo.

En el código se ha creado una función llamada run_dml_analysis que utiliza la biblioteca DoubleML para realizar un análisis causal. Se han empleado los modelos de RandomForest y XGB tanto en su versión de Regresor como Clasificador (según queramos sacar la media condicional de respuesta o el propensity score, respectivamente). Utilizando estos modelos, se ajustan dos tipos de modelos DoubleMLPLR (Double ML with Partially Linear Regression), uno para cada algoritmo de aprendizaje automático. Luego, se generan resúmenes de los resultados y, si se proporcionan grupos, se calculan los efectos condicionales (GATE) para cada modelo y se visualizan mediante gráficos de barras con intervalos de confianza.

Se muestran en primer lugar los resultados obtenidos para el Average Treatment Effect (ATE) en la siguiente Tabla.

El valor de los coeficientes estimados por el modelo de DoubleML, indicada que con un p-valor << 0.05, existe un efecto estadísticamente significativo de la aplicación del tratamiento sobre la nota para todos los cursos, siendo los alumnos de primer grado donde este efecto sería mayor mientras que en segundo y tercero los coeficientes presentan valores similares, de entre 12 y 14 puntos. Para kindergarten sí observamos un incremento mayor, de entre 15 y 17 puntos.

Group Average Treatment Effects (GATEs)

Efecto del tratamiento por etnia

Figura 43. Efecto del tratamiento por etnia en los diferentes cursos.

Parece que los grupos no caucásicos se benefician en mayor medida del hecho de estar en clases más reducidas, sobre todo en KinderGarten, tal y como se aprecia en trabajos como el de (Mosteller 1998). En el resto de casos no puede asegurarse un efecto del tratamiento superior, puesto que hay cierto solapamiento entre los intervalos de confianza.

Efecto del tratamiento por género

Figura 44. Efecto del tratamiento por género en los diferentes cursos.

En general, no puede asegurarse que el tratamiento resulte más beneficioso para ninguno de los dos grupos (mujeres u hombres). Sin embargo, en Kindergarten parece ser que los hombres sí se ven más beneficiados.

Efecto del tratamiento por tipo de escuela

Figura 45. Efecto del tratamiento por tipo de escuela en los diferentes cursos.

Llama la atención la evolución de los efectos heterogéneos a lo de los cursos. En Kindergarten se aprecia mayor efecto tratamiento en los colegios de los barrios urbanos e inner-city (aunque sí es cierto que hay cierto solapamiento en el intervalo de confianza por debajo). En primer curso, los mayores efectos parece recibirlos el suburbano, mientras que en urbano no queda del todo claro puesto que hay un intervalo de confianza demasiado amplio como para hacer afirmaciones. Por otra parte, en segundo y tercero parece haber un resultado algo mayor para inner-city, aunque de nuevo no podemos sacar conclusiones precipitadas puesto que hay solapamiento en los intervalos de confianza. Urbano ofrece intervalos de confianza demasiado grandes, indicando que no hemos podido terminar de encontrar el modelo que mejor se ajuste a esta clase en dicha variable.

Referencias

Hanck, Christoph, Martin Arnold, Alexander Gerber, y Martin Schmelzer. 2021. Introduction to Econometrics with R. Universität Duisburg-Essen.
Keith Battocchi, Maggie Hei, Eleanor Dillon. 2019. «EconML: A Python Package for ML-Based Heterogeneous Treatment Effects Estimation». https://github.com/py-why/EconML.
Mosteller, Frederick. 1998. «The Tennessee Study of Class Size in the Early School Grades». En Essays in Honor of John W. Tukey, editado por David R. Brillinger, Luisa T. Fernholz, y Stephan Morgenthaler, 261-78. Princeton: Princeton University Press. https://doi.org/doi:10.1515/9781400851607.261.